import { message } from "antd";
import {AxiosResponse} from "axios";

const handleResData = (data:any) => {
  if (data && data.msg && data.msg.length > 0) {
    message.error(data.msg);
  } else {
    message.error("请联系管理员")
  }
}

// 判断接口请求的状态码(status和code)
export function judgeCode(response: AxiosResponse) {
  switch (response.status) {
    // case 401:
    //   message.error("登录状态失效");
    //   break;
    // case 402:
    //   message.error("登录超时, 请刷新页面重新登录");
    //   break;
    // case 403:
    //   message.error("无权限访问");
    //   break;
    case 202:
      message.error(response.data);
      break;
    case 404:
      message.error("资源不存在");
      // router.push("/404");
      break;
    case 500:
      const data = response.data
      if (data instanceof Blob && data.type === 'application/json') {
        // 如果返回的是 Blob 类型并且是 JSON 格式
        const reader = new FileReader();
        reader.onload = () => {
          // @ts-ignore
          const errorMsg = JSON.parse(reader.result);
          // 在此处处理或显示错误信息
          handleResData(errorMsg)
        };
        reader.readAsText(data);
      } else {
        handleResData(data)
      }
      break;
  }
}



